/* IN variables. */
domid_t domain;
unsigned long max_pfns;
- guest_handle(ulong) buffer;
+ GUEST_HANDLE(ulong) buffer;
/* OUT variables. */
unsigned long num_pfns;
} dom0_getmemlist_t;
-define_guest_handle(dom0_getmemlist_t);
+DEFINE_GUEST_HANDLE(dom0_getmemlist_t);
#define DOM0_SCHEDCTL 6
/* struct sched_ctl_cmd is from sched-ctl.h */
typedef struct sched_ctl_cmd dom0_schedctl_t;
-define_guest_handle(dom0_schedctl_t);
+DEFINE_GUEST_HANDLE(dom0_schedctl_t);
#define DOM0_ADJUSTDOM 7
/* struct sched_adjdom_cmd is from sched-ctl.h */
typedef struct sched_adjdom_cmd dom0_adjustdom_t;
-define_guest_handle(dom0_adjustdom_t);
+DEFINE_GUEST_HANDLE(dom0_adjustdom_t);
#define DOM0_CREATEDOMAIN 8
typedef struct dom0_createdomain {
/* Identifier for new domain (auto-allocate if zero is specified). */
domid_t domain;
} dom0_createdomain_t;
-define_guest_handle(dom0_createdomain_t);
+DEFINE_GUEST_HANDLE(dom0_createdomain_t);
#define DOM0_DESTROYDOMAIN 9
typedef struct dom0_destroydomain {
/* IN variables. */
domid_t domain;
} dom0_destroydomain_t;
-define_guest_handle(dom0_destroydomain_t);
+DEFINE_GUEST_HANDLE(dom0_destroydomain_t);
#define DOM0_PAUSEDOMAIN 10
typedef struct dom0_pausedomain {
/* IN parameters. */
domid_t domain;
} dom0_pausedomain_t;
-define_guest_handle(dom0_pausedomain_t);
+DEFINE_GUEST_HANDLE(dom0_pausedomain_t);
#define DOM0_UNPAUSEDOMAIN 11
typedef struct dom0_unpausedomain {
/* IN parameters. */
domid_t domain;
} dom0_unpausedomain_t;
-define_guest_handle(dom0_unpausedomain_t);
+DEFINE_GUEST_HANDLE(dom0_unpausedomain_t);
#define DOM0_GETDOMAININFO 12
typedef struct dom0_getdomaininfo {
uint32_t ssidref;
xen_domain_handle_t handle;
} dom0_getdomaininfo_t;
-define_guest_handle(dom0_getdomaininfo_t);
+DEFINE_GUEST_HANDLE(dom0_getdomaininfo_t);
#define DOM0_SETVCPUCONTEXT 13
typedef struct dom0_setvcpucontext {
domid_t domain;
uint32_t vcpu;
/* IN/OUT parameters */
- guest_handle(vcpu_guest_context_t) ctxt;
+ GUEST_HANDLE(vcpu_guest_context_t) ctxt;
} dom0_setvcpucontext_t;
-define_guest_handle(dom0_setvcpucontext_t);
+DEFINE_GUEST_HANDLE(dom0_setvcpucontext_t);
#define DOM0_MSR 15
typedef struct dom0_msr {
uint32_t out1;
uint32_t out2;
} dom0_msr_t;
-define_guest_handle(dom0_msr_t);
+DEFINE_GUEST_HANDLE(dom0_msr_t);
/*
* Set clock such that it would read <secs,nsecs> after 00:00:00 UTC,
uint32_t nsecs;
uint64_t system_time;
} dom0_settime_t;
-define_guest_handle(dom0_settime_t);
+DEFINE_GUEST_HANDLE(dom0_settime_t);
#define DOM0_GETPAGEFRAMEINFO 18
#define NOTAB 0 /* normal page */
/* Is the page PINNED to a type? */
uint32_t type; /* see above type defs */
} dom0_getpageframeinfo_t;
-define_guest_handle(dom0_getpageframeinfo_t);
+DEFINE_GUEST_HANDLE(dom0_getpageframeinfo_t);
/*
* Read console content from Xen buffer ring.
/* IN variables. */
uint32_t clear; /* Non-zero -> clear after reading. */
/* IN/OUT variables. */
- guest_handle(char) buffer; /* In: Buffer start; Out: Used buffer start */
+ GUEST_HANDLE(char) buffer; /* In: Buffer start; Out: Used buffer start */
uint32_t count; /* In: Buffer size; Out: Used buffer size */
} dom0_readconsole_t;
-define_guest_handle(dom0_readconsole_t);
+DEFINE_GUEST_HANDLE(dom0_readconsole_t);
/*
* Set which physical cpus a vcpu can execute on.
uint32_t vcpu;
cpumap_t cpumap;
} dom0_setvcpuaffinity_t;
-define_guest_handle(dom0_setvcpuaffinity_t);
+DEFINE_GUEST_HANDLE(dom0_setvcpuaffinity_t);
/* Get trace buffers machine base address */
#define DOM0_TBUFCONTROL 21
unsigned long buffer_mfn;
uint32_t size;
} dom0_tbufcontrol_t;
-define_guest_handle(dom0_tbufcontrol_t);
+DEFINE_GUEST_HANDLE(dom0_tbufcontrol_t);
/*
* Get physical information about the host machine
unsigned long free_pages;
uint32_t hw_cap[8];
} dom0_physinfo_t;
-define_guest_handle(dom0_physinfo_t);
+DEFINE_GUEST_HANDLE(dom0_physinfo_t);
/*
* Get the ID of the current scheduler.
/* OUT variable */
uint32_t sched_id;
} dom0_sched_id_t;
-define_guest_handle(dom0_sched_id_t);
+DEFINE_GUEST_HANDLE(dom0_sched_id_t);
/*
* Control shadow pagetables operation
uint32_t dirty_net_count;
uint32_t dirty_block_count;
} dom0_shadow_control_stats_t;
-define_guest_handle(dom0_shadow_control_stats_t);
+DEFINE_GUEST_HANDLE(dom0_shadow_control_stats_t);
typedef struct dom0_shadow_control {
/* IN variables. */
domid_t domain;
uint32_t op;
- guest_handle(ulong) dirty_bitmap;
+ GUEST_HANDLE(ulong) dirty_bitmap;
/* IN/OUT variables. */
unsigned long pages; /* size of buffer, updated with actual size */
/* OUT variables. */
dom0_shadow_control_stats_t stats;
} dom0_shadow_control_t;
-define_guest_handle(dom0_shadow_control_t);
+DEFINE_GUEST_HANDLE(dom0_shadow_control_t);
#define DOM0_SETDOMAINMAXMEM 28
typedef struct dom0_setdomainmaxmem {
domid_t domain;
unsigned long max_memkb;
} dom0_setdomainmaxmem_t;
-define_guest_handle(dom0_setdomainmaxmem_t);
+DEFINE_GUEST_HANDLE(dom0_setdomainmaxmem_t);
#define DOM0_GETPAGEFRAMEINFO2 29 /* batched interface */
typedef struct dom0_getpageframeinfo2 {
domid_t domain;
unsigned long num;
/* IN/OUT variables. */
- guest_handle(ulong) array;
+ GUEST_HANDLE(ulong) array;
} dom0_getpageframeinfo2_t;
-define_guest_handle(dom0_getpageframeinfo2_t);
+DEFINE_GUEST_HANDLE(dom0_getpageframeinfo2_t);
/*
* Request memory range (@mfn, @mfn+@nr_mfns-1) to have type @type.
uint32_t handle;
uint32_t reg;
} dom0_add_memtype_t;
-define_guest_handle(dom0_add_memtype_t);
+DEFINE_GUEST_HANDLE(dom0_add_memtype_t);
/*
* Tear down an existing memory-range type. If @handle is remembered then it
uint32_t handle;
uint32_t reg;
} dom0_del_memtype_t;
-define_guest_handle(dom0_del_memtype_t);
+DEFINE_GUEST_HANDLE(dom0_del_memtype_t);
/* Read current type of an MTRR (x86-specific). */
#define DOM0_READ_MEMTYPE 33
unsigned long nr_mfns;
uint32_t type;
} dom0_read_memtype_t;
-define_guest_handle(dom0_read_memtype_t);
+DEFINE_GUEST_HANDLE(dom0_read_memtype_t);
/* Interface for controlling Xen software performance counters. */
#define DOM0_PERFCCONTROL 34
uint32_t nr_vals; /* number of values for this counter */
uint32_t vals[64]; /* array of values */
} dom0_perfc_desc_t;
-define_guest_handle(dom0_perfc_desc_t);
+DEFINE_GUEST_HANDLE(dom0_perfc_desc_t);
typedef struct dom0_perfccontrol {
/* IN variables. */
uint32_t op; /* DOM0_PERFCCONTROL_OP_??? */
/* OUT variables. */
uint32_t nr_counters; /* number of counters */
- guest_handle(dom0_perfc_desc_t) desc; /* counter information (or NULL) */
+ GUEST_HANDLE(dom0_perfc_desc_t) desc; /* counter information (or NULL) */
} dom0_perfccontrol_t;
-define_guest_handle(dom0_perfccontrol_t);
+DEFINE_GUEST_HANDLE(dom0_perfccontrol_t);
#define DOM0_MICROCODE 35
typedef struct dom0_microcode {
/* IN variables. */
- guest_handle(void) data; /* Pointer to microcode data */
+ GUEST_HANDLE(void) data; /* Pointer to microcode data */
uint32_t length; /* Length of microcode data. */
} dom0_microcode_t;
-define_guest_handle(dom0_microcode_t);
+DEFINE_GUEST_HANDLE(dom0_microcode_t);
#define DOM0_IOPORT_PERMISSION 36
typedef struct dom0_ioport_permission {
uint32_t nr_ports; /* size of port range */
uint8_t allow_access; /* allow or deny access to range? */
} dom0_ioport_permission_t;
-define_guest_handle(dom0_ioport_permission_t);
+DEFINE_GUEST_HANDLE(dom0_ioport_permission_t);
#define DOM0_GETVCPUCONTEXT 37
typedef struct dom0_getvcpucontext {
domid_t domain; /* domain to be affected */
uint32_t vcpu; /* vcpu # */
/* OUT variables. */
- guest_handle(vcpu_guest_context_t) ctxt;
+ GUEST_HANDLE(vcpu_guest_context_t) ctxt;
} dom0_getvcpucontext_t;
-define_guest_handle(dom0_getvcpucontext_t);
+DEFINE_GUEST_HANDLE(dom0_getvcpucontext_t);
#define DOM0_GETVCPUINFO 43
typedef struct dom0_getvcpuinfo {
uint32_t cpu; /* current mapping */
cpumap_t cpumap; /* allowable mapping */
} dom0_getvcpuinfo_t;
-define_guest_handle(dom0_getvcpuinfo_t);
+DEFINE_GUEST_HANDLE(dom0_getvcpuinfo_t);
#define DOM0_GETDOMAININFOLIST 38
typedef struct dom0_getdomaininfolist {
/* IN variables. */
domid_t first_domain;
uint32_t max_domains;
- guest_handle(dom0_getdomaininfo_t) buffer;
+ GUEST_HANDLE(dom0_getdomaininfo_t) buffer;
/* OUT variables. */
uint32_t num_domains;
} dom0_getdomaininfolist_t;
-define_guest_handle(dom0_getdomaininfolist_t);
+DEFINE_GUEST_HANDLE(dom0_getdomaininfolist_t);
#define DOM0_PLATFORM_QUIRK 39
#define QUIRK_NOIRQBALANCING 1
/* IN variables. */
uint32_t quirk_id;
} dom0_platform_quirk_t;
-define_guest_handle(dom0_platform_quirk_t);
+DEFINE_GUEST_HANDLE(dom0_platform_quirk_t);
#define DOM0_PHYSICAL_MEMORY_MAP 40
typedef struct dom0_memory_map_entry {
uint32_t flags; /* reserved */
uint8_t is_ram;
} dom0_memory_map_entry_t;
-define_guest_handle(dom0_memory_map_entry_t);
+DEFINE_GUEST_HANDLE(dom0_memory_map_entry_t);
typedef struct dom0_physical_memory_map {
/* IN variables. */
uint32_t max_map_entries;
/* OUT variables. */
uint32_t nr_map_entries;
- guest_handle(dom0_memory_map_entry_t) memory_map;
+ GUEST_HANDLE(dom0_memory_map_entry_t) memory_map;
} dom0_physical_memory_map_t;
-define_guest_handle(dom0_physical_memory_map_t);
+DEFINE_GUEST_HANDLE(dom0_physical_memory_map_t);
#define DOM0_MAX_VCPUS 41
typedef struct dom0_max_vcpus {
domid_t domain; /* domain to be affected */
uint32_t max; /* maximum number of vcpus */
} dom0_max_vcpus_t;
-define_guest_handle(dom0_max_vcpus_t);
+DEFINE_GUEST_HANDLE(dom0_max_vcpus_t);
#define DOM0_SETDOMAINHANDLE 44
typedef struct dom0_setdomainhandle {
domid_t domain;
xen_domain_handle_t handle;
} dom0_setdomainhandle_t;
-define_guest_handle(dom0_setdomainhandle_t);
+DEFINE_GUEST_HANDLE(dom0_setdomainhandle_t);
#define DOM0_SETDEBUGGING 45
typedef struct dom0_setdebugging {
domid_t domain;
uint8_t enable;
} dom0_setdebugging_t;
-define_guest_handle(dom0_setdebugging_t);
+DEFINE_GUEST_HANDLE(dom0_setdebugging_t);
#define DOM0_IRQ_PERMISSION 46
typedef struct dom0_irq_permission {
uint8_t pirq;
uint8_t allow_access; /* flag to specify enable/disable of IRQ access */
} dom0_irq_permission_t;
-define_guest_handle(dom0_irq_permission_t);
+DEFINE_GUEST_HANDLE(dom0_irq_permission_t);
#define DOM0_IOMEM_PERMISSION 47
typedef struct dom0_iomem_permission {
unsigned long nr_mfns; /* number of pages in range (>0) */
uint8_t allow_access; /* allow (!0) or deny (0) access to range? */
} dom0_iomem_permission_t;
-define_guest_handle(dom0_iomem_permission_t);
+DEFINE_GUEST_HANDLE(dom0_iomem_permission_t);
#define DOM0_HYPERCALL_INIT 48
typedef struct dom0_hypercall_init {
domid_t domain; /* domain to be affected */
unsigned long mfn; /* machine frame to be initialised */
} dom0_hypercall_init_t;
-define_guest_handle(dom0_hypercall_init_t);
+DEFINE_GUEST_HANDLE(dom0_hypercall_init_t);
typedef struct dom0_op {
uint32_t cmd;
uint8_t pad[128];
} u;
} dom0_op_t;
-define_guest_handle(dom0_op_t);
+DEFINE_GUEST_HANDLE(dom0_op_t);
#endif /* __XEN_PUBLIC_DOM0_OPS_H__ */